feat(skills): add Claude Code plugin manifest and marketplace#1472
feat(skills): add Claude Code plugin manifest and marketplace#1472douenergy merged 4 commits intoCanner:mainfrom
Conversation
📝 WalkthroughWalkthroughAdded Claude plugin manifest and marketplace listing for the Wren skill, and updated skills installation docs to include a Claude Code Plugin installation option, renumbering existing options. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (2)
skills/README.md (1)
10-13: Add a language tag to this fenced block (MD040).Line 10 should use a language identifier (recommend
text) to satisfy markdownlint without marking commands as executable shell.Minimal lint-safe fix
-``` +```text /plugin marketplace add Canner/wren-engine --path skills /plugin install wren@wren</details> <details> <summary>🤖 Prompt for AI Agents</summary>Verify each finding against the current code and only fix it if needed.
In
@skills/README.mdaround lines 10 - 13, Update the fenced code block in
README.md (the block containing "/plugin marketplace add Canner/wren-engine
--path skills" and "/plugin install wren@wren") to include a language identifier
(recommend "text") after the opening triple backticks so markdownlint rule MD040
is satisfied; simply change the opening fence fromtotext to mark the
commands as non-executable text.</details> </blockquote></details> <details> <summary>skills/.claude-plugin/marketplace.json (1)</summary><blockquote> `16-23`: **Consider keeping marketplace keywords in sync with `plugin.json`.** This list currently diverges from `skills/.claude-plugin/plugin.json` (e.g., `data-source`, `bigquery`, `postgres`, `snowflake` are missing), which can hurt search/discovery consistency over time. <details> <summary>Suggested alignment</summary> ```diff "keywords": [ "wren", "sql", "mdl", "mcp", "semantic-layer", + "data-source", + "bigquery", + "postgres", + "snowflake", "docker" ] ``` </details> <details> <summary>🤖 Prompt for AI Agents</summary> ``` Verify each finding against the current code and only fix it if needed. In `@skills/.claude-plugin/marketplace.json` around lines 16 - 23, The marketplace.json "keywords" array is out of sync with the plugin.json keywords; update the "keywords" array in skills/.claude-plugin/marketplace.json to match plugin.json by adding the missing entries (e.g., data-source, bigquery, postgres, snowflake), remove any unintended divergences, and ensure the two "keywords" arrays remain identical (dedupe and normalize formatting/casing) so search/discovery stays consistent. ``` </details> </blockquote></details> </blockquote></details> <details> <summary>🤖 Prompt for all review comments with AI agents</summary>Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In@skills/.claude-plugin/marketplace.json:
- Around line 16-23: The marketplace.json "keywords" array is out of sync with
the plugin.json keywords; update the "keywords" array in
skills/.claude-plugin/marketplace.json to match plugin.json by adding the
missing entries (e.g., data-source, bigquery, postgres, snowflake), remove any
unintended divergences, and ensure the two "keywords" arrays remain identical
(dedupe and normalize formatting/casing) so search/discovery stays consistent.In
@skills/README.md:
- Around line 10-13: Update the fenced code block in README.md (the block
containing "/plugin marketplace add Canner/wren-engine --path skills" and
"/plugin install wren@wren") to include a language identifier (recommend "text")
after the opening triple backticks so markdownlint rule MD040 is satisfied;
simply change the opening fence fromtotext to mark the commands as
non-executable text.</details> --- <details> <summary>ℹ️ Review info</summary> <details> <summary>⚙️ Run configuration</summary> **Configuration used**: defaults **Review profile**: CHILL **Plan**: Pro **Run ID**: `99eeb765-9d77-4a38-9314-d1c0f105e9d8` </details> <details> <summary>📥 Commits</summary> Reviewing files that changed from the base of the PR and between 312eb20efa3a6883bcc1891ac66736b4c8a66a7c and 94a777d24e1e555b9f14baf6202b1670aec88ed2. </details> <details> <summary>📒 Files selected for processing (3)</summary> * `skills/.claude-plugin/marketplace.json` * `skills/.claude-plugin/plugin.json` * `skills/README.md` </details> </details> <!-- This is an auto-generated comment by CodeRabbit for review status -->
Package existing skills as a Claude Code plugin so users can install via `/plugin marketplace add` in addition to `npx skills`. The plugin uses namespace `wren` (e.g., `/wren:generate-mdl`). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1f4e0fe to
1aef438
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
skills/README.md (1)
20-20: Clarify that/wren:<skill>applies to plugin installs only.Given later examples still use
/wren-usagestyle, please add one sentence here to distinguish plugin invocation vs npx/manual installation invocation formats, to avoid user confusion.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@skills/README.md` at line 20, Clarify that the `/wren:<skill>` namespace applies only to skills installed as plugins by adding one sentence after the existing line that contrasts plugin invocation with manual or npx invocation formats (e.g., explain that plugin commands use `/wren:<skill>` while npx/manual runs use formats like `/wren-usage` or direct `npx wren ...`), and update the README sentence to explicitly call out "plugin installs only" and show the two invocation examples (`/wren:<skill>` for plugins vs `/wren-usage`/npx/manual for manual installs).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@skills/README.md`:
- Around line 10-13: Add a language identifier to the fenced code block
containing the two plugin commands to satisfy markdownlint MD040: update the
fence that currently encloses "/plugin marketplace add Canner/wren-engine --path
skills" and "/plugin install wren@wren" to use a neutral identifier like "text"
(i.e., change ``` to ```text) so the block is explicitly typed without implying
a shell language.
---
Nitpick comments:
In `@skills/README.md`:
- Line 20: Clarify that the `/wren:<skill>` namespace applies only to skills
installed as plugins by adding one sentence after the existing line that
contrasts plugin invocation with manual or npx invocation formats (e.g., explain
that plugin commands use `/wren:<skill>` while npx/manual runs use formats like
`/wren-usage` or direct `npx wren ...`), and update the README sentence to
explicitly call out "plugin installs only" and show the two invocation examples
(`/wren:<skill>` for plugins vs `/wren-usage`/npx/manual for manual installs).
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 16f32410-bc18-46f0-8095-928d7e855975
📒 Files selected for processing (3)
skills/.claude-plugin/marketplace.jsonskills/.claude-plugin/plugin.jsonskills/README.md
✅ Files skipped from review due to trivial changes (2)
- skills/.claude-plugin/marketplace.json
- skills/.claude-plugin/plugin.json
…#1472) Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
.claude-plugin/plugin.jsonandmarketplace.jsontoskills/so existing skills can be installed as a Claude Code plugin (namespace:wren)skills/README.mdwith plugin installation instructions as Option 1npx skills, install.sh) remain fully functional alongside the plugin formatInstallation (after merge)
Test plan
claude --plugin-dir ./skillsloads all 7 skills under/wren:*namespace/plugin validate ./skillspasses with no errorsnpx skills add Canner/wren-engine --agent claude-codestill works/plugin marketplace add Canner/wren-engine --path skillsworks from GitHub🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
Documentation